#pragma once
#include <Windows.h>
#include "Singleton.h"
#include "GMCmdParser.h"
#include "GMCmdString.h"

class User;

class GMCmdManager : public Singleton<GMCmdManager>
{
public:
	GMCmdManager(void);
	~GMCmdManager(void);

	bool					ParseCommand( User* pUser, const char* szCmd );
	bool					ProcessCommand( User* pUser, vector<string>& vecCmd );
	BOOL					IsGMUser( User *pUser );
	BOOL                    IsGMCommand(const char* szCmd);

private:
	bool ProcessWorldNotice( User* pUser, vector<string>& vecCmd );
	bool ProcessChannelNotice( User* pUser, vector<string>& vecCmd );
	bool ProcessZoneNotice( User* pUser, vector<string>& vecCmd );


public:
	GMCmdParser		m_Parser;
	GMCmdString		m_GMString;
	vector<string>	m_vecCmd;
};
